分类
联系方式
  1. 新浪微博
  2. E-mail

BackTrader 通道策略

介绍

本文策略来自牙医小赵的《量化投资学习笔记188——实现经典交易策略——通道》一文。作者也开源了 BackTrader 策略源码

通道策略

原理:当股价突破通道时,会向相反方向变化。

计算周期 T 内的通道线的方法:

  • 通道下线:周期 T 内股价的最高值
  • 通道上线:周期 T 内股价的最低值

源码实现直接参照牙医小赵开源了 BackTrader 策略源码

轨道指标:

# 上轨
self.H = bt.ind.Highest(self.datas[0].high, period=self.p.T, subplot=False)
# 下轨
self.L = bt.ind.Lowest(self.datas[0].low, period=self.p.T, subplot=False)

上面这段代码存在一个问题,统计最高最低价时,把当日价算进去了,应该是不算当日,从前一交易日开始算,正确代码为:

self.H = bt.ind.Highest(self.high(-1), period=self.p.T, subplot=False)
self.L = bt.ind.Lowest(self.low(-1), period=self.p.T, subplot=False)

开仓条件:if self.close[0] <= self.L[0]:

清仓条件:if self.close[0] >= self.H[0]:

用 20 日最低价突破,我发现开不了仓,即每日的收盘价,通常不会低于 20 日最低价。周期调小后开始交易,但效果不太理想。